import { ApiProperty } from '@midwayjs/swagger'
import { Rule, RuleType } from '@midwayjs/validate'

/**
 * 登录请求数据
 */
export class LoginDTO implements ILoginDTO {
  @ApiProperty({ description: '账号', example: '' })
  @Rule(RuleType.string().required().error(new Error('账号不能为空')))
  userName: string

  @ApiProperty({ description: '密码', example: '' })
  @Rule(
    RuleType.string()
      .required()
      .error(new Error('密码不能为空'))
      .min(6)
      .error(new Error('密码最少6位'))
  )
  password: string

  @ApiProperty({ description: '验证码ID', example: '' })
  @Rule(RuleType.string().required().error(new Error('验证码不能为空')))
  captchaId: string

  @ApiProperty({ description: '验证码值', example: '' })
  @Rule(RuleType.string().required().error(new Error('验证码不能为空')))
  captchaValue: string
}
